<template>
  <div id="app">
    <div>
      <span>姓名:</span>
      <input type="text" v-model="name" />
    </div>
    <div>
      <span>年龄:</span>
      <input type="number" v-model="age" />
    </div>
    <div>
      <span>性别:</span>
      <select v-model="gender">
        <option value="男" selected>男</option>
        <option value="女">女</option>
      </select>
    </div>
    <div>
      <button @click="add">添加/修改</button>
    </div>
    <div>
      <table border="1" cellpadding="10" cellspacing="0">
        <tr>
          <th>序号</th>
          <th>姓名</th>
          <th>年龄</th>
          <th>性别</th>
          <th>操作</th>
        </tr>
        <tr v-for="item in arr" :key="item.id">
          <td>{{ item.id }}</td>
          <td>{{ item.name }}</td>
          <td>{{ item.age }}</td>
          <td>{{ item.gender }}</td>
          <td>
            <button @click="remove(item.id)">删除</button>
            <button @click="edit(item.id)">编辑</button>
          </td>
        </tr>
      </table>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      arr: [{ id: 1, name: "吕布", age: 18, gender: "男" }],
      name: "",
      age: "",
      gender: "",
      flag : false,
      count : null,
    };
  },
  methods: {
    add() {
      if(this.flag) {
        this.arr[this.count].name = this.name
        this.arr[this.count].age = this.age
        this.arr[this.count].gender = this.gender
        this.flag = false
        return
      }
      const id = this.arr.length ? this.arr.slice(-1)[0].id + 1 : 1;
      console.log(id)
      const obj = {
        id,
        name: this.name,
        age: this.age,
        gender: this.gender,
      };
      if (obj.name === "" || obj.age === "") return alert("请输入数据");
      console.log(obj)
      this.arr.push(obj);
      console.log(this.arr)
      
    },

    remove(id) {
      const index = this.arr.findIndex((item) => item.id === id);
      this.arr.splice(index, 1);
    },
    edit(id) {
      const index = this.arr.findIndex((item) => item.id === id);
      this.name = this.arr[index].name
      this.age = this.arr[index].age
      this.gender = this.arr[index].gender
      this.count = index
      this.flag = true
    }
  },
};
</script>
